﻿var sourceGrid;
var mnggridid;
var contractpermistion, rowcommand;
var MaHD = 0;

//        var dropdownData = [
//                            { MaDoiTac: 1, TenDoiTac: "Software Engineer" },
//                            { MaDoiTac: 2, TenDoiTac: "QA Engineer" },
//                            { MaDoiTac: 3, TenDoiTac: "Requirements Analyst" }
//                        ];



$(document).ready(function () {

    //permisstion
    rowcommand = new Array();

    if (contractpermistion >= 7) {
        rowcommand.push({ name: "Delete", text: "Xóa", click: Delete });
        rowcommand.push({ name: "Detail", text: "Chi tiết", click: ViewDetail });
    }
    else {
        if (contractpermistion >= 1) {
            //co quyen xem danh sach hop dong
            rowcommand.push({ name: "Detail", text: "Chi tiết", click: ViewDetail });
        } else {
            //ko co quyen xem
            return;
        }
    }

    //end permisstion

    sourceGrid = {
        //serverSorting: true,
        serverPaging: true,
        //serverFiltering: true,
        batch: true,
        pageSize: 10,
        schema: {
            data: function (data) {
                if (data.d != null)
                    return data.d.source;
                else
                    return data.d;
            },
            total: function (data) {
                if (data.d != null)
                    return data.d.total;
                else
                    return data.d;
            },
            model: {
                id: "MaHD",
                fields: {
                    STT: { editable: false, nullable: true },
                    TenHD: { validation: { required: true} },
                    SoHD: { validation: { required: true} },
                    MaDoiTac: { validation: { required: false} },
                    GiaTriHD: { type: "number", validation: { required: false} },
                    //                                ThoiGianThucHien:{},
                    //                                NgayKetThuc:{},
                    //                                                                NgayThanhLyHD:{},
                    //                                CanhBaoTruoc:{},
                    //                                GhiChu:{},
                    //                                TienDoThucHien:{},
                    //                                ChuNhiemCongTrinh:{},

                    GiaTriThanhLyHD: { type: "number", validation: { required: false} }
                    //                                TrangThai:{}
                }
            }
        },
        transport: {
            read: {
                url: "/WS/hdservice.aspx/GetListContract",
                contentType: "application/json; charset=utf-8",
                type: "POST"
            },
            update: {
                url: "/WS/hdservice.aspx/UpdateContract",
                contentType: "application/json; charset=utf-8",
                type: "POST",
                complete: function (e) {
                    showMessage('success', "Cập nhật thành công");
                    $("#" + mnggridid).data("kendoGrid").dataSource.read();
                },
                error: function (e) {
                    alert('error');
                }
            },
            destroy: {
                url: "/WS/hdservice.aspx/DeleteContract",
                contentType: "application/json; charset=utf-8",
                type: "POST",
                complete: function (e) {
                    var msg = e.responseText.toString();
                    if (msg.indexOf("failed") != -1) {
                        showMessage('error', "Không thể xóa hợp đồng này!");
                    }
                    else
                        showMessage('success', "Cập nhật thành công");
                    $("#" + mnggridid).data("kendoGrid").dataSource.read(); //refresh grid
                },
                error: function (e) {
                    alert('error');
                }
            },
            create: {
                url: "/WS/hdservice.aspx/CreateContract",
                contentType: "application/json; charset=utf-8",
                type: "POST",
                complete: function (e) {
                    showMessage('success', "Cập nhật thành công");
                    $("#" + mnggridid).data("kendoGrid").dataSource.read();
                },
                error: function (e) {
                    alert('error');
                }
            },
            parameterMap: function (data, operation) {
                console.log(data);
                if (operation != "read") {
                    console.log(data);
                    if (operation == "create") {
                        return JSON.stringify({ obj: data.models, ParentID: MaHD })
                    }
                    return JSON.stringify({ obj: data.models })
                }
                else {
                    var keyword = $("#txtAdress").val();
                    data = $.extend({ Keyword: keyword, ParentID: MaHD }, data);
                    return JSON.stringify({ obj: data });
                }
            }
        }
    };


    grid = $("#" + mnggridid).kendoGrid({
        dataSource: sourceGrid,
        //height: 410,   

        toolbar: kendo.template($("#contractmngtemplate").html()),
        // toolbar: ["create", "save", "cancel"],
        pageable: true,
        resizable: true,
        //batch: true,
        navigatable: true,
        dataBound: onDataBound,
        columns: [
                                {
                                    field: "STT", title: "STT", width: "40px", editable: false, nullable: true
                                },
                                {
                                    field: "TenHD", title: "Tên hợp đồng", width: "200px", editor: textEditorInitialize
                                },
                                {
                                    field: "SoHD", title: "Số", width: "100px"
                                },
                                 {
                                     field: "TenDoiTac", title: "Đối tác", width: "120px", editor: textAutocompleteInitialize
                                 },
                                 {
                                     field: "NgayTaoHD", title: "Ngày", type: "date", format: "{0:dd/MM/yyyy}", editor: columndatepicker
                                 },
        //                                {
        //                                    field: "MaDoiTac",
        //                                    title: "TenDoiTac",
        //                                    template: "${displayTenDoiTac(MaDoiTac)}",
        //                                    editor: function (container, options) {
        //                                        $("<input />")
        //                                            .attr("data-bind", "value:MaDoiTac")
        //                                            .appendTo(container)
        //                                            .kendoDropDownList({
        //                                                dataSource: dropdownData,
        //                                                dataTextField: "TenDoiTac",
        //                                                dataValueField: "MaDoiTac"
        //                                            });
        //                                    }
        //                                },
                                {
                                field: "GiaTriHD", title: "Giá trị", format: "{0:N}"
                            },
                                {
                                    field: "ThoiGianThucHien", title: "Thời gian thực hiện"
                                },
                                {
                                    field: "TienDoThucHien", title: "Tiến độ thực hiện"
                                },
                                {
                                    field: "GhiChu", title: "Ghi chú"
                                },
                                {
                                    field: "ChuNhiemCongTrinh", title: "CN Công trình"
                                },
                                {
                                    field: "NgayThanhLyHD", title: "Ngày TLHĐ", type: "date", format: "{0:dd/MM/yyyy}", editor: columndatepicker
                                },
                                {
                                    field: "GiaTriThanhLyHD", title: "Giá trị TLHĐ", format: "{0:N}"
                                },
                                { command: rowcommand,
                                    //                                            [
                                    //                                                { name: "destroy", text: "Xóa" },
                                    //                                                { name: "Detail", text: "Chi tiết", click: ViewDetail }
                                    //                                            ],
                                    title: " ",
                                    width: (rowcommand.length > 1 ? (rowcommand.length * 65) + "px" : "95px")
                                }
                            ],
        editable: (contractpermistion >= 7)
    });


});

function displayTenDoiTac(MaDoiTac) {
    var TenDoiTac = "";
    $.each(dropdownData, function () {
        if (this.MaDoiTac == MaDoiTac) {
            TenDoiTac = this.TenDoiTac;
            return false;
        }
    });
    return TenDoiTac;
}

function Search() {
    $('#' + mnggridid).data('kendoGrid').dataSource.read();
}

function ViewDetail(e) {
    e.preventDefault();
    var dataItem = this.dataItem($(e.currentTarget).closest("tr"));
    console.log(dataItem);
    window.location.href = "/ContractDetail.aspx?MaHD=" + dataItem.MaHD;
}

function Delete(e) {
    e.preventDefault();
    var dataItem = this.dataItem($(e.currentTarget).closest("tr"));
    var mahddelete = dataItem.MaHD;
    if (confirm("Bạn có chắc chắn muốn xóa hợp đồng này không?")) {
        $.post("/Handlers/post.ashx", { MaHD: mahddelete, act: "xcontract" }, function (result) {
            if (result == "success") {
                var grid = $('#' + mnggridid).data('kendoGrid');
                grid.dataSource.remove(dataItem);
                showMessage('success', "Xóa hợp đồng thành công!");
            } else {
                showMessage('error', "Không thể xóa hợp đồng này!");
            }
        });
    }
}
function onDataBound(arg) {
    var _grid = this;
    _grid.tbody.find('>tr').each(function () {
        var dataItem = _grid.dataItem(this);
        if (dataItem.ParentID == "") {
            $(this).addClass('ct-root');
        } else {
            $(this).addClass('ct-child');
        }
    })
}

